#pragma once

#include "apdu.h"
#include "apdu_mgr_base.h"

class apdu_finger_manager : public apdu_mgr_base
{
public:
	apdu_finger_manager(void);
	~apdu_finger_manager(void);

public:
	apdu * create_apdu_create_finger_record(int appId, int fingerNum, int enrollAccessLevel, 
									int userRetryTimes, int adminRetryTimes, int userVerifyLevel, int adminVerifyLevel);


	apdu * create_apdu_enroll_finger(int appId, int userId, int fingerId, int phase);

	apdu * create_apdu_verify_finger(int appId, int userId, int phase, int mode);

	apdu * create_apdu_verify_finger2(int appId, int userId, int phase, int containerId, int keyPair);

	apdu * create_apdu_verify_fingers(int appId, int userId, int phase, int fingerNum, unsigned char * fingerIdList);

	apdu * create_apdu_delete_finger(int appId, int userId, int fingerId);

	apdu * create_apdu_get_finger_info(int appId, int userId);

	apdu * create_apdu_get_finger_descriptor(int appId, int userId, int fingerId);

	apdu * create_apdu_set_finger_descriptor(int appId, int userId, int fingerId,
					unsigned char desc[16], int containerId, int keyPair);

	apdu * create_apdu_clean_all_finger();
	
	apdu * create_apdu_unblock_finger(int appid, int userId);

	apdu * create_apdu_enable_finger_cfg(int appId, int userId, int enable);
	
	apdu * create_apdu_cancel_fingler();

	apdu * create_apdu_set_fingler_mode(int mode, int regtimes);

private:

};
